Date: Tue, 10 Dec 1996 16:45:05 GMT
Server: NCSA/1.4.2
Content-type: text/html

<html>
<head>
<title>
CSE 413 Midterm Topics, Winter 1996
</title>
</head> 

<h1>CSE 413</h1>
<h1>Midterm Topics</h1>

<p>
<b><h2>Lisp</b></h2>
<ul>
<li> Symbols, numbers, strings, lists
<li> List Manipulation
<li> Recursive Functions: be able to write a recursive definition of
things like <em>LENGTH</em> (to compute the length of a list),
<em>COUNTATOMS</em> (to count the number of atoms in an <em>S</em>
expression.
<li> Closures: what are they? How are they created, and how do they
behave?
<li> Scope and extent
<li> Mark-and-sweep garbage collection.  How it works.  Its advantages
and disadvantages.
</ul>
</p>


<p>
<b><h2>Processing Programming Languages</b></h2>
<ul>
<li> Languages over an alphabet as sets of finite-length strings.
<li> Regular expressions and how they correspond to regular
languages.
<li> How to construct a deterministic finite automaton that
corresponds to a particular regular expression.
<li> Finite automata for lexical analysis, especially for identifiers
and integers and numbers in exponential notation.
<li> Definition of a grammar.
<ul>
<li> Derivation using a grammar.
<li> Sentential forms.
</ul>
<li> What is a context-free grammar?
<li> Backus-Naur Form
<li> Parsing - what does it mean?  Hand parsing of input strings
according to a given grammar.
</ul>
</p>


